"""
模块到测试用例路径的映射配置。

说明：
- key 为对外暴露的模块入参（支持中文或英文别名）
- value 为相对于项目根目录的测试路径（目录或单个文件），使用正斜杠

新增/修改映射后，无需改动代码，接口会按此处映射解析 test_path。
"""

from typing import Dict, Optional


MODULE_TO_TEST_PATH: Dict[str, str] = {
    # Web - 直播模块
    "直播模块": "test_case/test_web/test_live_management",
    "内容中心": "test_case/test_web/test_content_center",
    "师资中心": "test_case/test_web/test_teacher_center",
    "交易中心": "test_case/test_web/test_trading_center",
    "售后管理": "test_case/test_web/test_aftersales",
    "ai助手": "test_case/test_web/test_ai_assistant",
    "智能销售": "test_case/test_web/test_edata_sale",
    "产品中心": "test_case/test_web/test_product_center",
    "店铺管理": "test_case/test_web/test_shop_management",
    "系统管理": "test_case/test_web/test_system_management",
    "用户中心": "test_case/test_web/test_user",
    "自媒体管理": "test_case/test_web/test_we_media_operation",
    "管理app":"test_case/test_management_app",
}


def resolve_test_path_by_module(module_name: Optional[str]) -> Optional[str]:
    if not module_name:
        return None
    key = module_name.strip()
    if not key:
        return None
    # 先精确匹配
    if key in MODULE_TO_TEST_PATH:
        return MODULE_TO_TEST_PATH[key]
    # 再做一次不区分大小写的英文别名匹配
    lower_map = {k.lower(): v for k, v in MODULE_TO_TEST_PATH.items()}
    return lower_map.get(key.lower())


